package com.firefighting.dao;

import java.util.HashMap;
import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.firefighting.entity.UserBasicInfo;

public interface UserBasicInfoMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(UserBasicInfo record);

    int insertSelective(UserBasicInfo record);

    UserBasicInfo selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(UserBasicInfo record);      

    int updateByPrimaryKey(UserBasicInfo record);

    //张晗   获取人员账号列表
	List<HashMap<String, Object>> getPersonList(@Param("enterId")Integer enterId);
	
	/*zhyan 根据账号查询企业id*/
	int getEnterpriseIdByUsername(@Param("username") String username);
	//张晗   获取企业id
	Integer getEnterId(@Param("username")String username);
	//liuxc  通过账号获取基本信息对象
	UserBasicInfo getInfoByAccount(String userName);
   //Liuxc 通过角色ID以及省来查询
	List<UserBasicInfo> getInfoByRoleAndProvence(@Param("roleId")String roleId,@Param("province") String province);
	//Liuxc 通过角色ID以及市来查询
	List<UserBasicInfo> getInfoByRoleAndCity(@Param("roleId")String roleId, @Param("city")String city);
	//韩佳迪 通过账号获得消防支队所在省
	String getProvince(@Param("username")String username);
	//韩佳迪 通过账号获得消防支队所在城市
	String getCity(@Param("username")String username);
	//韩佳迪 通过省份获得其所有账号列表
	List<HashMap<String, Object>> getProPersonList(@Param("province")String province);
	//韩佳迪 通过城市获得其所有账号列表
	List<HashMap<String, Object>> getCityPersonList(@Param("city")String city);
	//韩佳迪 通过所有账号列表
	List<HashMap<String, Object>> getAllPersonList();
	//韩佳迪 企业管理员添加企业人员
	int enterInsert(UserBasicInfo record);
	//韩佳迪 消防部门添加企业人员
	int fireInsert(UserBasicInfo record);
	//韩佳迪 消防部门编辑企业人员
	int fireEdit(UserBasicInfo record);
	//韩佳迪 企业管理员编辑企业人员
	int enterEdit(UserBasicInfo record);
	//韩佳迪 通过省份获得消防部门所有账号列表
	List<HashMap<String, Object>> getFireProPersonList(@Param("province")String province);
	//Liuxc 根据企业ID查询  某角色 List
	List<UserBasicInfo> getRoleInfoByEnter(@Param("enterpriseId")Integer enterpriseId, @Param("roleId")Integer roleId);
	
	/** zhyan 查询项目负责人列表 */
	@SuppressWarnings("rawtypes")
	List<HashMap> selectProjectManagerList();
	
	/** zhyan 根据企业id查询该企业的所有项目负责人 */
	List<String> selectPMByEnterpriseId(int enterpriseId);
	//韩佳迪 修改指定企业的所有人员状态
	int updateStatusByEnterId(@Param("enterId")int enterId,@Param("status")String status);
	//韩佳迪 修改指定人员状态
	int updateStatusById(@Param("account")String account,@Param("status")String status);
}